<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
  </head>
  <body>
    <div id="app">
      <p>{{firstName + '.' + lastName}}</p>
      <p>{{fullName}}</p>
      <p>{{getFullName()}}</p>
    </div>
    <!-- 执行机制
computed里的方法在初始化执行过后，只要任何值有更新，那么所有在computed计算属性里和其相关的值都会更新。
methods只有在调用的时候才会执行对应的方法，不会自动同步数据。
computed计算属性跟methods在内部的函数写起来没有什么区别，只是在调用的时候不一样。
总结：computed计算属性的缓存原理在我们处理大量数据的时候使用可以大大提高效率，不必在数据没有发生改变的时候重新获取数据的值，可直接获取到结果，并且只执行绑定依赖的方法。methods里方法在依赖的值改变后，只有设置触发才会重新执行methods里相关的方法。 -->

    <script src="../js/vue.js"></script>

    <script>
      const app = Vue.createApp({
        data() {
          return {
            firstName: 'xing',
            lastName:'ming'
          }
        },
        computed:{
          fullName(){
            console.log('----fullname');
            return  `${this.firstName}.${this.lastName}`
          }
        },
        methods: {
          getFullName(){
            console.log('----getfullname');
            return  `${this.firstName}.${this.lastName}`
          }

        },
      }).mount("#app");
    </script>
  </body>
</html>